Declarative Network Path Queries
نویسندگان
چکیده
Effective management of computer networks is crucial to ensure the availability and performance of “always online” Internet services that we depend on. Towards this goal, programmatic tools can remove slow and expensive human involvement in management. Recently, Software-Defined Networking (SDN) technology has eased programmatic control of networks, but there has been little attention on programmatic measurement of networks. This thesis focuses on a broad class of measurement questions that analyze the flow of traffic along network paths. Today, network operators measure traffic flow by “synthesizing” multiple data streams— including updates to forwarding, traffic observations from packet samples, and changes in network topology. However, this approach has significant limitations: it makes measurements indirect for operators to express, and forces operators to make a difficult trade-off between measurement accuracy and overhead. In this thesis, we approach network path measurement with two key principles: (1) Enable operators to specify the measurements they need in a declarative query language; and (2) Drive network measurement according to operator-specified queries. We realize these principles in three parts, as follows. First, we present a declarative query language, that enables paths to be specified as regular expressions over predicates on packet locations and header values. The language also has SQL-like “groupby” constructs for aggregating results anywhere along a path. We show several realistic measurement queries corresponding to resource management, policy enforcement, and troubleshooting. Second, we present a query run-time system that translates path queries into accurate measurement that runs on commodity switch hardware. The run-time first compiles queries into a deterministic finite automaton. The automaton’s transition function is then partitioned, compiled into ‘match-action’ rules (that run on commodity hardware), and distributed over the switches. Storing the automaton state requires only a small amount of extra space (2-4 bytes) on packets. Third, we present optimizations which address fundamental bottlenecks in compilation, caused by queries and forwarding policies requiring different actions on overlapping sets of packets. Experiments indicate that our run-time system can enable “interactive debugging,” allowing an operator to compile multiple queries in a few seconds. Further, the generated switch rules fit comfortably in modern switch rule memories.
منابع مشابه
Compiling Path Queries
Measuring the flow of traffic along network paths is crucial for many management tasks, including traffic engineering, diagnosing congestion, and mitigating DDoS attacks. We introduce a declarative query language for efficient path-based traffic monitoring. Path queries are specified as regular expressions over predicates on packet locations and header values, with SQLlike “groupby” constructs ...
متن کاملCustomizable Routing with Declarative Queries
To meet the demands of new Internet applications, recent work argues for giving end-hosts more control over routing. To achieve this goal, we propose the use of a recursive query language, which allows users to define their own routing protocols. Recursive queries can be used to express a large variety of route requests such as the k shortest paths, shortest paths that avoid (or include) a give...
متن کاملDeclarative Cleaning, Analysis, and Querying of Graph-structured Data
Title of dissertation: DECLARATIVE CLEANING, ANALYSIS, AND QUERYING OF GRAPH-STRUCTURED DATA Walaa Eldin Moustafa, Doctor of Philosophy, 2013 Dissertation directed by: Professor Amol Deshpande, Professor Lise Getoor, Department of Computer Science Much of today’s data including social, biological, sensor, computer, and transportation network data is naturally modeled and represented by graphs. ...
متن کاملReasoning in complex environments with the SelectScript declarative language
SelectScript is an extendable, adaptable, and declarative domainspecific language aimed at information retrieval from simulation environments and robotic world models in an SQL-like manner. In this work we have extended the language in two directions. First, we have implemented hierarchical queries; second, we improve efficiency enabling manual design space exploration on different “search” str...
متن کاملUsing Hy+ for network management and distributed debugging
A network manager managing a computer network or a programmer attempting to understand and debug a distributed program both must deal with large volumes of data. Visu-alization is widely believed to help in these and similar tasks. We contend that visual-ization is indeed useful, but only if accompanied of the following facilities: abstraction, l-tering, and layout control. The Hy + visual-izat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016